Non-volatile memory technologies, including Flash memory (e.g., NOR- and NAND-type flash memory), EEPROM (Electrically Erasable Programmable Read Only Memory), FRAM (Ferroelectric Random Access Memory), MRAM (Magneto-resistive Random Access Memory), PRAM (Phase Change Random Access Memory), and bubble memory can be used to store data (including computer-executable instructions) in everyday computing devices. Once programmed, non-volatile memories have a common property of being able to retain data for relatively long durations of time without being powered. However, all non-volatile memories still tend to eventually lose their stored programmed data. For example, depending on the technology used to implement flash memory cells, reliable data storage durations can range from 2-3 years, up to 10 years.